QuickTime for Windows 2.0.x currently does not have a direct function for retrieving the palette (i.e., style GetMovieColorTable on the Macintosh platform). This function will be added to later QuickTime for Windows releases. However, you can retrieve the palette by first issuing a GetMoviePict to retrieve a PictHandle, and then issuing a GetPicturePalette to retrieve the HPALETTE from the PictHandle. When you now have access to the (possibly) stored palette, you can use this palette for full control of the palette management of the environment.
Here's what you need to know about the default palette handling with the movie controller, i.e., when the flag mcFlagsUseWindowPalette is enabled.
The palette from the movie is asserted as the clut when the movie opens: in other words, this clut is set as the system palette. This means that it's important to reserve 20 entries (first 10, last 10) of the 256 for the Windows system palette. DeBabelizer and similar graphics manipulation tools can create such palettes that work across platforms.
QuickTime for Windows will then dither against this system palette, and it will figure out when the system palette changes in order to change the dithering; QuickTime for Windows will inherit any new system palettes. Note that all Apple-provided codecs played in an 8-bit environment will have their movie frames dithered using this scheme.
In other words, the logical palette is not changed; it is the system palette that is changed. Also, the palette is realized as a foreground only palette.
If two or more QuickTime for Windows movie files are loaded into the environment, the last movie's color table will always become the new active palette.
If you want to change this behavior, you can retrieve the palette information
from the movie and override the behavior based on their scheme of palette
management.